/**
 */
package com.my.emf.notification.model;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see com.my.emf.notification.model.ModelFactory
 * @model kind="package"
 * @generated
 */
public interface ModelPackage extends EPackage {
   /**
    * The package name.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   String eNAME = "model";

   /**
    * The package namespace URI.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   String eNS_URI = "http:///model.ecore";

   /**
    * The package namespace name.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   String eNS_PREFIX = "model";

   /**
    * The singleton instance of the package.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    */
   ModelPackage eINSTANCE = com.my.emf.notification.model.impl.ModelPackageImpl.init();

   /**
    * The meta object id for the '{@link com.my.emf.notification.model.impl.IPersonImpl <em>IPerson</em>}' class.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @see com.my.emf.notification.model.impl.IPersonImpl
    * @see com.my.emf.notification.model.impl.ModelPackageImpl#getIPerson()
    * @generated
    */
   int IPERSON = 0;

   /**
    * The feature id for the '<em><b>First Name</b></em>' attribute.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
   int IPERSON__FIRST_NAME = 0;

   /**
    * The number of structural features of the '<em>IPerson</em>' class.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
   int IPERSON_FEATURE_COUNT = 1;

   /**
    * The meta object id for the '{@link com.my.emf.notification.model.impl.IPersonListImpl <em>IPerson List</em>}' class.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @see com.my.emf.notification.model.impl.IPersonListImpl
    * @see com.my.emf.notification.model.impl.ModelPackageImpl#getIPersonList()
    * @generated
    */
   int IPERSON_LIST = 1;

   /**
    * The feature id for the '<em><b>Persons</b></em>' containment reference list.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
   int IPERSON_LIST__PERSONS = 0;

   /**
    * The number of structural features of the '<em>IPerson List</em>' class.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @generated
    * @ordered
    */
   int IPERSON_LIST_FEATURE_COUNT = 1;


   /**
    * Returns the meta object for class '{@link com.my.emf.notification.model.IPerson <em>IPerson</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for class '<em>IPerson</em>'.
    * @see com.my.emf.notification.model.IPerson
    * @generated
    */
   EClass getIPerson();

   /**
    * Returns the meta object for the attribute '{@link com.my.emf.notification.model.IPerson#getFirstName <em>First Name</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the attribute '<em>First Name</em>'.
    * @see com.my.emf.notification.model.IPerson#getFirstName()
    * @see #getIPerson()
    * @generated
    */
   EAttribute getIPerson_FirstName();

   /**
    * Returns the meta object for class '{@link com.my.emf.notification.model.IPersonList <em>IPerson List</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for class '<em>IPerson List</em>'.
    * @see com.my.emf.notification.model.IPersonList
    * @generated
    */
   EClass getIPersonList();

   /**
    * Returns the meta object for the containment reference list '{@link com.my.emf.notification.model.IPersonList#getPersons <em>Persons</em>}'.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the meta object for the containment reference list '<em>Persons</em>'.
    * @see com.my.emf.notification.model.IPersonList#getPersons()
    * @see #getIPersonList()
    * @generated
    */
   EReference getIPersonList_Persons();

   /**
    * Returns the factory that creates the instances of the model.
    * <!-- begin-user-doc -->
    * <!-- end-user-doc -->
    * @return the factory that creates the instances of the model.
    * @generated
    */
   ModelFactory getModelFactory();

   /**
    * <!-- begin-user-doc -->
    * Defines literals for the meta objects that represent
    * <ul>
    *   <li>each class,</li>
    *   <li>each feature of each class,</li>
    *   <li>each enum,</li>
    *   <li>and each data type</li>
    * </ul>
    * <!-- end-user-doc -->
    * @generated
    */
   interface Literals {
      /**
       * The meta object literal for the '{@link com.my.emf.notification.model.impl.IPersonImpl <em>IPerson</em>}' class.
       * <!-- begin-user-doc -->
       * <!-- end-user-doc -->
       * @see com.my.emf.notification.model.impl.IPersonImpl
       * @see com.my.emf.notification.model.impl.ModelPackageImpl#getIPerson()
       * @generated
       */
      EClass IPERSON = eINSTANCE.getIPerson();

      /**
       * The meta object literal for the '<em><b>First Name</b></em>' attribute feature.
       * <!-- begin-user-doc -->
       * <!-- end-user-doc -->
       * @generated
       */
      EAttribute IPERSON__FIRST_NAME = eINSTANCE.getIPerson_FirstName();

      /**
       * The meta object literal for the '{@link com.my.emf.notification.model.impl.IPersonListImpl <em>IPerson List</em>}' class.
       * <!-- begin-user-doc -->
       * <!-- end-user-doc -->
       * @see com.my.emf.notification.model.impl.IPersonListImpl
       * @see com.my.emf.notification.model.impl.ModelPackageImpl#getIPersonList()
       * @generated
       */
      EClass IPERSON_LIST = eINSTANCE.getIPersonList();

      /**
       * The meta object literal for the '<em><b>Persons</b></em>' containment reference list feature.
       * <!-- begin-user-doc -->
       * <!-- end-user-doc -->
       * @generated
       */
      EReference IPERSON_LIST__PERSONS = eINSTANCE.getIPersonList_Persons();

   }

} //ModelPackage
